package com.gt.quality.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gt.quality.base.BaseCommonService;
import com.gt.quality.system.entity.SysFileInfo;
import com.gt.quality.system.entity.SysUser;
import com.gt.quality.system.entity.dto.SysUserDTO;
import com.gt.quality.system.entity.vo.QueryWhereUser;
import com.gt.quality.base.pojo.BaseLimitRequest;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 用户信息表(SysUser)表服务接口
 *
 * @author makejava
 * @since 2026-11-25 16:30:08
 */
public interface SysUserService extends BaseCommonService<SysUser> {

    /**
     * Description:  分页查询
     *
     * @param limitRequest 分页查询参数
     * @author: makeJava
     * @date: 2026-11-25 16:30:08
     * @return:com.baomidou.mybatisplus.core.metadata.IPage
     */
    @Override
    IPage<SysUser> queryLimitPage(BaseLimitRequest<SysUser> limitRequest);


    /**
     * Description:  批量新增
     *
     * @param entityList entityList
     * @author: makeJava
     * @date: 2026-11-25 16:30:08
     * @return:Integer
     */
    @Override
    Integer saveBatchByEasyBaseMapper(List<SysUser> entityList);

    /**
     * 登录
     *
     * @param loginAccount loginAccount
     * @param password     password
     * @return SysUser
     */
    SysUser findUserByNameAndPassword(String loginAccount, String password);

    /**
     * Description:  分页查询
     *
     * @param limitRequest limitRequest
     * @author: makeJava
     * @date: 2026-12-22 19:49:09
     * @return :
     */
    IPage<SysUserDTO> queryLimit(QueryWhereUser limitRequest);

    /**
     * Description:  Excel用户导入
     *
     * @param file file
     * @author: makeJava
     * @date: 2026-12-22 19:49:09
     */
    SysFileInfo uploadFile(MultipartFile file);
}


